package net.hn.hnms.biz.gasext.dws.service;

import net.hn.hnms.biz.api.safety.gasext.domain.SafetyMonitoringVo;
import net.hn.hnms.biz.api.safety.gasext.domain.TransfiniteStatisticsVo;
import net.hn.hnms.biz.api.safety.location.model.OutLimitAlarmingInfoVO;
import net.hn.hnms.biz.gasext.dws.domain.DimCoalMineBasicInfoPo;
import net.hn.hnms.sys.common.redis.domain.SysOrganization;
import net.hn.hnms.sys.common.redis.domain.SysOrganizationVo;

import java.util.List;

public interface AqjkService {

    /**
     * 大屏首页-安全检测（本地数据）
     * @return
     */
    SafetyMonitoringVo getSafetyMonitoringLocl();

    //获取树状结构煤矿
    public SysOrganizationVo selectCodeSubList();
    /**
     * 获取煤业公司煤矿树结构
     * @return
     */
    List<SysOrganizationVo> selectGroupCodeSubList();

    //获取华能所有子煤矿
    public List<SysOrganization> selectCodeSubMineList();
    //获取华能所有子煤矿
    public List<SysOrganization> selectCodeSubMineList(String companyCode,String mineCode);

    //获取华能所有子煤矿带所有信息
    public List<DimCoalMineBasicInfoPo> selectCodeSubMineInfoList();
    //获取华能所有子煤矿带所有信息
    public List<DimCoalMineBasicInfoPo> selectCodeSubMineInfoList(String companyCode,String mineCode);
    //获取华能所有子煤矿带所有信息（不去掉刘园子和马蹄沟）
    public List<DimCoalMineBasicInfoPo> selectCodeSubMineInfoAllList(String companyCode,String mineCode);
    /**
     * 获取当天报警超限信息
     * @param mineCode
     * @return
     */
    List<OutLimitAlarmingInfoVO> alarmInfoList(String mineCode);

    /**
     * 获取煤业公司井工矿煤矿列表
     * @return
     */
    List<SysOrganization> selectCodeUndergroundMiningSubMineList();
    /**
     * 获取煤业公司井工矿煤矿列表
     * @return
     */
    List<SysOrganization> selectCodeUndergroundMiningSubMineList(String companyCode,String mineCode);

    //获取华能井工矿所有子煤矿带所有信息
    public List<DimCoalMineBasicInfoPo> selectCodeUndergSubMineInfoList();

    //获取华能井工矿所有子煤矿带所有信息
    public List<DimCoalMineBasicInfoPo> selectCodeUndergSubMineInfoList(String companyCode,String mineCode);

    /**
     * 获取煤业公司露天矿煤矿列表
     * @return
     */
    List<SysOrganization> selectCodeOutdoorsSubMineList();

    /**
     * 根据公司编码获取当前公司下的煤矿列表
     * @return
     */
    List<SysOrganization> getMineCodeListByCompanyCode(String mineCode);

    /**
     * 获取所有公司列表
     * @return
     */
    List<SysOrganization> getAllCompanyMineCodeList();

    /**
     * pc-大屏首页-超限统计
     * @param type
     * @return
     */
    TransfiniteStatisticsVo getTransfiniteStatistics(String ccompanyCode,String mineCode,String type);


}
